专利摘要:
本發明揭露一種封包預分類方法及裝置,提供智能通訊埠基礎設施給通訊網路裝置。此係透過將具有高度可配置性之預分類模組納入通訊埠基礎設施中。此預分類器能夠重新對齊封包資料,以將具有可配置數目的位元組增加至封包的前面,並從進來的封包中選取感興趣的資料以供後續分析之用。被選取的資料被送至可配置的分類引擎,以產生指定如何決定相關封包屬性之指示。接著,根據該些指示產生封包屬性並將封包屬性隨著封包發送至後續的處理單元。
公开号:TW201304464A
申请号:TW101109352
申请日:2012-03-19
公开日:2013-01-16
发明作者:Hakan Zeffer;Jakob Carlstrom;Par Westlund;Johan Back;Ronny Nilsson
申请人:Marvell World Trade Ltd;
IPC主号:H04L69-00
专利说明:
封包預分類方法及裝置
本發明係與通訊網路相關之封包處理系統有關,特別是關於一種預分類封包以及為後續封包處理操作決定每一封包屬性之方法及裝置。
傳統的通訊網路之通訊埠係接收封包並將其發送至主處理單元,並於主處理單元進行分類、修正、量測、計數及發送至下一個目的地。在大多數的情況下,傳統的通訊埠均能運作良好。然而,在某些情況下,於通訊埠層級需要更高的智能。舉例而言,在超額預定(oversubscribed)之情況下,主處理單元無法處理所有進來的封包,導致某些封包會被丟棄。在這些情況下,能夠丟棄盡最大努力的傳輸而不是丟棄控制封包或其他重要的封包是很重要的。
此外,在封包處理裝置中,不同的封包可能被指引至不同目的地。舉例而言,某些封包可能會被送往主處理單元,其他封包可能被送往配置單元。因此,若通訊埠能夠快速而有效率地決定封包的目的地是相當有幫助的。由於封包需要依照其傳送至何種處理裝置所得之不同的封包屬性,所以這些不同的目的地也是相當重要的。
傳統的通訊網路裝置之通訊埠一般並不包含上述功能或智能。因此,本發明提出一種封包處理方法及系統,以解決先前技術所遭遇到之上述種種問題。
本發明之一範疇在於提出一種提供智能通訊埠基礎設施給通訊網路裝置之系統。於一較佳具體實施例中,通訊埠基礎設施係包含有具有高度可配置性之預分類器模組。該預分類器能夠重新對齊封包資料以增加具有可配置數目之位元組至封包的前面,並且從進來的封包中選取感興趣之資料以供後續分析之用。被選取的資料江會被送至可配置的分類引擎,並由分類引擎產生指定如何決定相關的封包屬性之指示。接著,根據指示產生封包屬性,並隨著封包發送封包屬性至後續的處理單元。
於一實施例中,用以進行封包重新對齊之具有可配置數目之該些位元組至少部分係根據輸入埠決定。
於一實施例中,從封包中之一個或多個位置選取資料係涉及從與輸入埠相關之一組位置中選取資料。
於一實施例中,執行分類操作係額外涉及使用與封包相關之通道數目及與輸入埠相關之可程式識別碼以執行分類。需注意的是,通道數目被接收作為封包的帶內控制資訊,例如通訊埠所解析之標頭。
於一實施例中,該系統額外根據分類結果調整封包基礎指標,其中封包基礎指標伴隨封包並且指向封包中之特定標頭。
於一實施例中,執行分類操作係涉及根據為封包所選取之資料於查找結構中執行查找操作。
於一實施例中,查找結構係為三態內容可定址式記憶體(Ternary Content-Addressable Memory,TCAM)。
於一實施例中,產生該些屬性係涉及與下列一個或多個之結合:來自分類結果之資料;來自封包之資料;從輸入埠發送之資訊。
於一實施例中,給封包之該些屬性係包含下列一個或多個:映射(mapping)型式;封包型式;顏色;服務類別;目標序列識別碼;副本數目;鏡射啟用;鏡射序列識別碼;封包基礎指標。
關於本發明之優點與精神可以藉由以下的發明詳述及所附圖式得到進一步的瞭解。
於此實施方式中所敘述之資料結構與編碼(code)一般是儲存於非暫時性電腦可讀取儲存媒體,可以是任何可儲存編碼及/或資料的裝置或媒體,以供電腦系統使用。非暫時性電腦可讀取儲存媒體包含但不限於揮發性記憶體、非揮發性記憶體、磁性及光學儲存裝置,例如磁碟機、磁帶、CD、DVD或其他已知或以後研發的能夠儲存編碼及/或資料的媒體。
於此實施方式中所敘述之該些方法及程序可透過能夠被儲存於上述非暫時性電腦可讀取儲存媒體之編碼及/或資料來實現。當電腦系統讀取或執行儲存於上述非暫時性電腦可讀取儲存媒體之編碼及/或資料時,電腦系統會執行儲存於非暫時性電腦可讀取儲存媒體內之編碼及/或資料所實現之該些方法及程序。此外,接下來所敘述之方法與程序可被包含於硬體模組。舉例而言,硬體模組可包含但不限於特殊應用積體電路(Application-Specific Integrated Circuit,ASIC)晶片、現場可程式化邏輯閘陣列(Field Programmable Gate Array,FPGA)或其他已知或以後研發的可程式化邏輯裝置。當硬體模組被啟動時,硬體模組會執行包含於硬體模組之該些方法與程序。 概述
本發明所揭露之實施例係實現了透過共享預分類階段從複數個通訊埠將封包傳送出去。如前述,此係透過將可配置預分類模組融入至通訊埠基礎設施而實現。此預分類器能夠重新對齊資料以增加具有可配置數目的位元組至封包的前面。預分類器亦從進來的封包中選取感興趣之資料。被選取的資料江會被送至可配置的分類引擎,並由分類引擎產生指定如何決定相關的封包屬性之指示。需注意的是,不同的通訊埠可根據於整個分類階段中伴隨著每一封包的每一通訊埠可配置的識別碼被分在一起或彼此分開。此外,每一通訊埠具有其本身一組配置註冊器,可被用以決定哪一個封包資料或控制資訊係被分類引擎所分類。
如前述,封包屬性係根據來自分類引擎的指示而產生。接著,該些屬性將會從通訊埠基礎設施之輸出端隨著封包被發送至後續的處理單元。當產生封包屬性時,某些屬性可直接從封包本身被取走。舉例而言,目的地序列可直接從封包資料內的封包標頭被取走。其他的屬性可根據分類結果及從每一通訊埠配置註冊器取走的值來計算。舉例而言,目的地序列可被計算為分類結果、通訊埠之配置值及通道數目之總和。這將會使得分類具有極大彈性且容易配置。
接下來,將進一步描述如何把本發明融入網路系統中以及如何產生該些屬性。 網路開關
圖1係繪示本發明之網路路由器(或網路開關)100之一實施例。網路路由器/網路開關100包含開關構造110,透過相關的線卡系統介面121~124耦接至複數個線卡101~104。該些線卡101~104透過相關的線卡線介面111~114耦接至不同的通訊線(例如光纖連接)。
請參照圖2,線卡101包含物理介面202,且物理介面202包含電路以利透過線介面111進行通訊。線卡101亦包含開關構造介面206,且開關構造介面206包含電路以利透過系統介面121進行通訊。物理介面202與開關構造介面206係耦接至網路處理器204,以執行不同的封包處理程序。
需注意的是,線卡101提供入口資料路徑208以供封包由線介面111流經物理介面202、網路處理器204、開關構造介面206及線卡系統介面121至開關構造110,如圖1所示。相對應的出口資料路徑210係以相反方向從開關構造110流經線卡系統介面121、開關構造介面206、網路處理器204、物理介面202及線介面111至相關的通訊通道。
圖3係繪示本發明之網路處理器204之內部構造之一實施例。網路處理器204包含通訊埠模組302且通訊埠模組302包含一個或多個通訊埠(傳輸介面)307。通訊埠模組302亦包含預分類器308,用以執行不同的預分類操作。以下將進一步詳細描述。通訊埠模組302亦耦接至緩衝器模組,且緩衝器模組包含用以緩衝封包之複數個序列310。這些序列310被送入排程器312,用以排定該些封包透過開關構造被傳送至不同目的地的時程。於此程序中,緩衝器304在必要時,例如欲實現“去尾”的方針時,可丟棄封包。 通訊埠構造
圖4係繪示本發明之通訊埠模組302包含一個或多個通訊埠307及預分類器308之構造。如圖4所示,通訊埠模組302透過通訊埠307接收資料412(具有封包型式)並輸出對齊的資料414及屬性420。接收到的資料412被送入通訊埠模組302內之預分類器308,並由預分類器308對資料執行複數個操作。
請參照圖4以及圖5的相關流程圖,預分類器308一般係操作如下:首先,預分類器308透過通訊埠307接收到封包(步驟502)。接著,來自封包的資料412經過封包對齊階段402,封包對齊階段402對齊資料412以增加可配置數目之位元組至封包的前面以製造出已對齊的資料414(步驟504)。至於封包對齊過程的細節將於後面參照圖6進行說明。
接著,已對齊的資料414被送入資料選取階段404,並由資料選取階段404從封包中之一個或多個位置選取資料以製造出已選取的資料416(步驟506)。其中,已選取的資料416亦包含通道數目及可配置辨識碼。至於資料選取過程的細節將於後面參照圖7進行說明。需注意的是,已對齊的資料414亦會從資料選取階段404被送至通訊埠模組302的輸出端。
接著,已選取的資料416被送至分類階段406,並由分類階段406對已選取的資料416執行分類操作以產生分類結果418,其中分類結果418包含指定如何產生複數個屬性給該封包之複數個指示(步驟508)。於一實施例中,分類操作涉及根據已選取的資料416於查找結構中執行查找操作。舉例而言,查找結構可以是具有512個條目之三態內容可定址式記憶體(Ternary Content-Addressable Memory,TCAM)以執行分類查找操作,以及相關的靜態隨機存取記憶體(SRAM)以提供十位元的分類結果418。需注意的是,使用三態內容可定址式記憶體可執行在許多封包處理操作中相當有用處之最長前序符合(longest prefix match)。此外,亦需注意的是,除了使用三態內容可定址式記憶體之外,另一種查找結構,例如搜尋樹,亦可被用來執行分類操作。於另一實施例中,慣用的硬體引擎或軟體可程式微控制器可被用以執行分類操作及提供分類結果。
接著,屬性產生階段408使用來自分類結果418的指示以產生屬性給封包(步驟510)。此屬性產生程序可涉及將來自分類結果418之資料與來自相對應的輸入埠之配置值結合,以及可能來自封包本身之資料。此屬性產生程序的細節將於後面參照圖8B進行說明。
最後,於封包中將屬性420伴隨著已對齊的資料414發送以利後續的封包處理操作(步驟512)。 封包對齊
圖6係繪示本發明之封包對齊程序600之一實施例。如圖6所示,在對齊程序之前,封包包含QMAP標頭606及承載604。需注意的是,QMAP標頭606係為所有權標頭,可用以保持緩衝器序列指令及位址。在對齊程序600之後,額外標頭空間608被增加至封包的前面。於一實施例中,對齊程序能夠增加最多127位元至封包的前面。需注意的是,被增加至封包前面之位元數目可依照接收封包之輸入埠(或次要輸入埠)而定。埠與次要埠於全文中係交替使用。
此額外的標頭空間608一開始可以是空白的,可以在後續階段被填充,以包含透過背面或開關構造之伴隨封包的資訊。舉例而言,此資訊可包含關於從背面或開關構造外出之指示。此外,當封包離開路由器或開關時,此資訊可被除去。額外的標頭空間608可被用以儲存多協定標籤切換(MPLS)標籤或為了插入虛擬區域網路(VLAN)標籤騰出空間。需注意的是,虛擬區域網路標籤可藉由移動已存在之標頭至額外的標頭空間內以及將虛擬區域網路標籤寫入至標頭原本在的位置而被插入。 資料選取
圖7係繪示本發明之資料選取階段404的操作之一實施例。於此實施例中,資料選取階段404被配置於每一通訊埠基座並且讓使用者從透過特定通訊埠進入裝置的封包配置選取最多九個兩位元資料。這九個資料選取點可從封包的最前面的256位元中之任意處選取資料,因而使得L2~L4分類較為方便。舉例而言,被選取之資料可包含來自封包之目的地MAC位址。需注意的是,資料選取階段404可使用複數個多工器實現,而資料選取點可與接收封包之輸入埠有關。
被選取之資料亦可包含可配置之識別碼706及通道數目708,係由輸入埠接收並被配置於每一通訊埠基座上。需注意的是,可配置之識別碼706可被用來將複數個通訊埠形成群組。舉例而言,所有十億位元(gigabit)乙太通訊埠可被指派一個可配置之識別碼706伴隨著於最大有效位元(Most Significant Bit)的一個。這些群組操作可被用於後續的分類操作。舉例而言,如果封包係來自十億位元(gigabit)乙太通訊埠且包含特定目的地MAC位址,於分類階段406具有較高優先權之TCAM條目可被配置以指引封包至特定目的地。如果封包係來自十億位元(gigabit)乙太通訊埠,但不符合較高優先權條目,具有較低優先權之條目可指引封包至另一個目的地。
除了產生已選取資料416的20位元之外,圖7所示之電路亦透過選取器S0,S1及S2從已選取資料416拉出QMAP資料702。其中,被拉出的QMAP資料702將會被發送至屬性產生階段408。 封包屬性
圖8A係繪示本發明之封包屬性結構中之特定屬性預設值之一實施例。如圖8A所示,封包屬性結構“PktAttr”包含複數種場域(field)。第一場域係為對映型式(mapping type),指出相關參數係為直接對映或間接對映。此一參數之預設值為零,其所代表的是直接對映。
第二場域係為封包型式。舉例而言,封包型式係指出封包係為單點傳播(unicast)或多點傳播(multicast)。此一參數之預設值為零,其所代表的是單點傳播。
第三場域係為顏色,乃是丟棄優先權參數,以利後續決定是否從一序列中丟棄該封包。此一參數之預設值為BaseColr,係為每一通訊埠各自定義之值。
第四場域係為CoS,用以指定給該封包之某一類服務,同樣可用來決定該封包於後續的處理操作中之優先權。此一參數之預設值為RESERVED。
第五場域係為來源,用以指定相關參數之來源應為分類結果或QMAP標頭。此一參數之預設值為RESERVED。
第六場域係為目的地,用以指定該封包的目的地序列。關於此一參數之計算操作將會於後參照圖8B進行說明。此一參數之預設值為BaseDest,係為每一通訊埠各自定義之值。
第七場域係為副本,用以指定該封包之副本數目,舉例而言,可用來處理多點傳播(multicast)的封包。此一參數之預設值為1。
第八及第九場域係為MirrorEn及MirrorQ。MirrorEn用以啟動通訊埠鏡射,而MirrorQ指定相關的鏡射序列。這些參數可被用以讓通訊埠鏡射更方便。MirrorEn之預設值為0,代表通訊埠鏡射未被啟動。MirrorQ之預設值為RESERVED。
最後,第十場域係為PBase,用以作為指出該封包內之特定標頭的指示碼。關於此一參數之計算操作將會於後參照圖8B進行說明。PBase之預設值為BasePBase,係為每一通訊埠各自定義之指示碼值。
圖8B係繪示如何產生封包屬性之一實施例。需注意的是,分類結果418包含資料結構“Val”。首先,屬性對映型式Pkt Attr.MappingType自分類結果418設定相對應的值,亦即Val.MappingType。同理,PktAttr.PacketType被設定為Val.PktType。PktAttr.Color被設定為Val.Colr。PktAttr.CoS被設定為Val.CoS。接著,PktAttr.Source係根據相對應的場域Val.SrcSel是否被設定而被設定為Val.Src或Qmap.Src(其中Qmap.Src為來自圖7所示之QMAP資料702之一值)。
其次,Val.DestOp係為用以選取計算封包目的地之特定方法的操作碼,亦即PktAttr.Destination。於第一種情況下,若Val.DestOp=0,目的地僅從分類結果418(Val.Dest)取得。於下一種情況下,若Val.DestOp=1,目的地係為Val.Dest與Qmap.Dest之總和。其中,Qmap.Dest係取自QMAP資料702。於下一種情況下,若Val.DestOp=2,目的地係為Val.Dest與BaseDest之總和。其中,BaseDest如前述係為每一個通訊埠各自定義的值。於接下來三種情況下,目的地係為Val.Dest、BaseDest與Chnl之總和。其中,Chnl係為圖7所示之每一個通訊埠之通道值708。需注意的是,Chnl值係針對不同操作碼選擇性地改變不同的位元數目。亦需注意的是,透過來自分類結果之值與每一個通訊埠值BaseDest與Chnl之結合,可根據來自分類器中之TCAM與SRAM之相對少量的條目指定較多的不同目的地。這可節省相當多TCAM與SRAM中之空間。
其次,PktAttr.Copies係根據相對應的場域Val.CpsSel被設定與否而被設定為Val.Cps或Qmap.Cps。然後,PktAttr.MirrorEn被設定為Val.MirrorEn,而PktAttr.MirrorQ被設定為Val.MirrorQ。
最後,Val.PBaseOp係為用以選取計算封包基礎指示碼(PktAttr.PBase)之特定方法的操作碼,用以指示封包內之特定標頭。於第一種情況下,若Val.PBaseOp=0,指示碼僅自每一個通訊埠值BasePBase取得。於第二種情況下,若Val.PBaseOp=1,指示碼係取自分類結果418之Val.PBase參數。於第三及第四種情況下,指示碼係將BasePBase與Val.PBase相加或相減而得。透過這種方式,本發明能夠同時使用每一個通訊埠基礎值與分類結果定義一封包基礎指示碼。
此外,於本發明其他實施例中,亦可藉由將分類資料寫入封包中來修改封包本身。舉例而言,這可應用於插入排入某一封包緩衝結構所需之特殊標頭,或傳送時間印記資訊或分類資訊至後續的處理單元。
藉由以上較佳具體實施例之詳述,希望能更加清楚描述本發明之特徵與精神,而並非以上述所揭露的較佳具體實施例來對本發明之範疇加以限制。相反地,其目的是希望能涵蓋各種改變及具相等性的安排於本發明所欲申請之專利範圍的範疇內。
502~512‧‧‧流程步驟
100‧‧‧網路路由器(網路開關)
101~104‧‧‧線卡
110‧‧‧開關構造
111~114‧‧‧線卡之線介面
121~124‧‧‧線卡之系統介面
202‧‧‧物理介面
204‧‧‧網路處理器
206‧‧‧開關構造介面
208‧‧‧入口資料路徑
210‧‧‧出口資料路徑
302‧‧‧通訊埠模組
304‧‧‧緩衝器
306‧‧‧處理單元
307‧‧‧通訊埠(傳輸介面)
308‧‧‧預分類器
310‧‧‧序列
312‧‧‧排程器
402‧‧‧封包對齊階段
404‧‧‧資料選取階段
406‧‧‧分類階段
408‧‧‧屬性產生階段
410‧‧‧配置單元
412‧‧‧資料
414‧‧‧已對齊的資料
416‧‧‧已選取的資料
418‧‧‧分類結果
420‧‧‧屬性
600‧‧‧封包對齊程序
604‧‧‧承載
606‧‧‧QMAP標頭
608‧‧‧額外標頭空間
702‧‧‧QMAP資料
706‧‧‧可配置之識別碼
708‧‧‧通道數目
B0~B255‧‧‧位元
圖1係繪示本發明之網路路由器或開關之一實施例。
圖2係繪示本發明之線卡之一實施例。
圖3係繪示本發明之網路處理器之一實施例。
圖4係繪示本發明之包含預分類器的通訊埠之一實施例。
圖5係繪示本發明之涉及封包處理之操作的流程圖。
圖6係繪示本發明之封包對齊程序之一實施例。
圖7係繪示本發明之資料選取過程之一實施例。
圖8A係繪示本發明之封包屬性結構之屬性預設值之一實施例。
圖8B係繪示如何產生封包屬性之一實施例。
502~512‧‧‧流程步驟
权利要求:
Claims (27)
[1] 一種封包處理方法,包含下列步驟:從一輸入埠接收一封包;從該封包中之一個或多個位置選取一資料;根據被選取之該資料執行一分類操作以產生一分類結果,其中該分類結果包含指定如何產生複數個屬性給該封包之複數個指示;使用該分類結果中之該些指示以產生該些屬性給該封包;以及伴隨該封包發送該些屬性,以利於後續的複數個封包處理操作。
[2] 如申請專利範圍第1項所述之封包處理方法,其中接收該封包係涉及對齊該封包以加入具有可配置數目之複數個位元組至該封包之前面。
[3] 如申請專利範圍第2項所述之封包處理方法,其中具有可配置數目之該些位元組至少部分係根據該輸入埠決定。
[4] 如申請專利範圍第1項所述之封包處理方法,其中從該封包中之一個或多個位置選取該資料係涉及從與該輸入埠相關之一組位置中選取該資料。
[5] 如申請專利範圍第1項所述之封包處理方法,其中執行該分類操作係額外涉及使用與該封包相關之一通道數目及與該輸入埠相關之一可程式識別碼以執行該分類操作。
[6] 如申請專利範圍第1項所述之封包處理方法,進一步包含下列步驟:根據該分類結果調整一封包基礎指標,其中該封包基礎指標伴隨該封包並且指向該封包中之一特定標頭。
[7] 如申請專利範圍第1項所述之封包處理方法,其中執行該分類操作係涉及根據為該封包所選取之該資料於一查找結構中執行一查找操作。
[8] 如申請專利範圍第7項所述之封包處理方法,其中該查找結構係為三態內容可定址式記憶體(Ternary Content-Addressable Memory,TCAM)。
[9] 如申請專利範圍第7項所述之封包處理方法,其中產生該些屬性係涉及與下列一個或多個之結合:來自該分類結果之資料;來自該封包之資料;以及從該輸入埠發送之資訊。
[10] 如申請專利範圍第9項所述之封包處理方法,其中來自該分類結果之資料係與來自該封包之資料或從該輸入埠發送之資訊結合以減少該查找結構之一必要尺寸大小。
[11] 如申請專利範圍第1項所述之封包處理方法,其中給該封包之該些屬性係包含下列一個或多個:一映射(mapping)型式;一封包型式;一顏色;一服務類別;一目標序列識別碼;一副本數目;一鏡射啟用;一鏡射序列識別碼;以及一封包基礎指標。
[12] 一種封包處理系統,包含:一輸入端,係配置以從一輸入埠接收一封包;一資料選取機制,係配置以從該封包中之一個或多個位置選取一資料;一分類機制,係配置以根據被選取之該資料執行一分類操作以產生一分類結果,其中該分類結果包含指定如何產生複數個屬性給該封包之複數個指示;一屬性產生機制,係配置以使用該分類結果中之該些指示以產生該些屬性給該封包;以及一輸出端,係配置以伴隨該封包發送該些屬性,以利於後續的複數個封包處理操作。
[13] 如申請專利範圍第12項所述之封包處理系統,其中該輸入端接收該封包係涉及對齊該封包以加入具有可配置數目之複數個位元組至該封包之前面。
[14] 如申請專利範圍第13項所述之封包處理系統,其中具有可配置數目之該些位元組至少部分係根據該輸入埠決定。
[15] 如申請專利範圍第12項所述之封包處理系統,其中該資料選取機制從該封包中之一個或多個位置選取該資料係涉及從與該輸入埠相關之一組位置中選取該資料。
[16] 如申請專利範圍第12項所述之封包處理系統,其中該分類機制執行該分類操作係額外涉及使用與該封包相關之一通道數目及與該輸入埠相關之一可程式識別碼以執行該分類操作。
[17] 如申請專利範圍第12項所述之封包處理系統,進一步包含:一調整機制,用以根據該分類結果調整一封包基礎指標,其中該封包基礎指標伴隨該封包並且指向該封包中之一特定標頭。
[18] 如申請專利範圍第12項所述之封包處理系統,其中該分類機制執行該分類操作係涉及根據為該封包所選取之該資料於一查找結構中執行一查找操作。
[19] 如申請專利範圍第18項所述之封包處理系統,其中該查找結構係為三態內容可定址式記憶體(Ternary Content-Addressable Memory,TCAM)。
[20] 如申請專利範圍第18項所述之封包處理系統,其中該屬性產生機制產生該些屬性係涉及與下列一個或多個之結合:來自該分類結果之資料;來自該封包之資料;以及從該輸入埠發送之資訊。
[21] 如申請專利範圍第20項所述之封包處理系統,其中來自該分類結果之資料係與來自該封包之資料或從該輸入埠發送之資訊結合以減少該查找結構之一必要尺寸大小。
[22] 如申請專利範圍第12項所述之封包處理系統,其中給該封包之該些屬性係包含下列一個或多個:一映射型式;一封包型式;一顏色;一服務類別;一目標序列識別碼;一副本數目;一鏡射啟用;一鏡射序列識別碼;以及一封包基礎指標。
[23] 一種非暫時性電腦可讀取儲存媒體,係儲存有複數個指示,當一電腦執行該些指示時,會致使該電腦執行一封包處理方法,該封包處理方法包含下列步驟:從一輸入埠接收一封包;從該封包中之一個或多個位置選取一資料;根據被選取之該資料執行一分類操作以產生一分類結果,其中該分類結果包含指定如何產生複數個屬性給該封包之複數個指示;使用該分類結果中之該些指示以產生該些屬性給該封包;以及伴隨該封包發送該些屬性,以利於後續的複數個封包處理操作。
[24] 如申請專利範圍第23項所述之非暫時性電腦可讀取儲存媒體,其中接收該封包係涉及對齊該封包以加入具有可配置數目之複數個位元組至該封包之前面。
[25] 如申請專利範圍第23項所述之非暫時性電腦可讀取儲存媒體,其中執行該分類操作係涉及根據為該封包所選取之該資料於一查找結構中執行一查找操作。
[26] 如申請專利範圍第25項所述之非暫時性電腦可讀取儲存媒體,其中該查找結構係為三態內容可定址式記憶體(Ternary Content-Addressable Memory,TCAM)。
[27] 如申請專利範圍第23項所述之非暫時性電腦可讀取儲存媒體,其中產生該些屬性係涉及與下列一個或多個之結合:來自該分類結果之資料;來自該封包之資料;以及從該輸入埠發送之資訊。
类似技术:
公开号 | 公开日 | 专利标题
TWI569609B|2017-02-01|封包預分類方法及裝置
US7447204B2|2008-11-04|Method and device for the classification and redirection of data packets in a heterogeneous network
US7177276B1|2007-02-13|Pipelined packet switching and queuing architecture
US7149216B1|2006-12-12|M-trie based packet processing
US6658002B1|2003-12-02|Logical operation unit for packet processing
EP3447979B1|2020-06-10|Switching system and method based on virtual interfaces
US9065770B2|2015-06-23|Traffic item impairment emulation
US10735221B2|2020-08-04|Flexible processor of a port extender device
US20120250502A1|2012-10-04|Method and System for Egress Policy Indications
US9686137B2|2017-06-20|Method and system for identifying an outgoing interface using openflow protocol
CN102238083A|2011-11-09|用于适配分组处理流水线的系统和方法
KR20150079477A|2015-07-08|소프트웨어-규정된 네트워크 엔진에서 패킷 수정 및 포워딩을 위해서 룩업들을 생성하고 결정들을 수행하기 위한 장치 및 방법
US10819640B1|2020-10-27|Congestion avoidance in multipath routed flows using virtual output queue statistics
US9667440B2|2017-05-30|Method and system for identifying an incoming interface using openflow protocol
US10693790B1|2020-06-23|Load balancing for multipath group routed flows by re-routing the congested route
US10778588B1|2020-09-15|Load balancing for multipath groups routed flows by re-associating routes to multipath groups
US10230639B1|2019-03-12|Enhanced prefix matching
US10348603B1|2019-07-09|Adaptive forwarding tables
Gibb2013|Reconfigurable Hardware for software-defined networks
US20120106555A1|2012-05-03|Low latency carrier class switch-router
US9219659B1|2015-12-22|Policy control list keys for network devices
同族专利:
公开号 | 公开日
CN103444140A|2013-12-11|
US9001828B2|2015-04-07|
US20160277549A1|2016-09-22|
WO2012127321A1|2012-09-27|
EP2689564A1|2014-01-29|
CN103444140B|2016-06-29|
US10462267B2|2019-10-29|
US20120243538A1|2012-09-27|
US20150215204A1|2015-07-30|
TWI569609B|2017-02-01|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
US9893962B2|2013-09-24|2018-02-13|International Business Machines Corporation|Port mirroring for sampling measurement of network flows|
US10009236B2|2013-09-24|2018-06-26|International Business Machines Corporation|Determining sampling rate from randomly sampled events|US7185081B1|1999-04-30|2007-02-27|Pmc-Sierra, Inc.|Method and apparatus for programmable lexical packet classifier|
US6977930B1|2000-02-14|2005-12-20|Cisco Technology, Inc.|Pipelined packet switching and queuing architecture|
US6665495B1|2000-10-27|2003-12-16|Yotta Networks, Inc.|Non-blocking, scalable optical router architecture and method for routing optical traffic|
US7072300B1|2001-03-23|2006-07-04|Advanced Micro Devices, Inc.|Action tag generation within a network based on priority or differential services information|
US7423975B2|2002-03-05|2008-09-09|Broadcom Corporation|Method, apparatus and computer program product for performing data packet classification|
GB2395395B|2002-11-15|2004-11-10|3Com Corp|Classification search scheme and rules engine for network unit|
GB2401279B|2003-04-29|2005-06-01|3Com Corp|Switch module architecture|
CN1323534C|2004-02-09|2007-06-27|中兴通讯股份有限公司|一种3g分组域边界网关的流控处理方法|
US7760719B2|2004-06-30|2010-07-20|Conexant Systems, Inc.|Combined pipelined classification and address search method and apparatus for switching environments|
US7508764B2|2005-09-12|2009-03-24|Zeugma Systems Inc.|Packet flow bifurcation and analysis|
US7869411B2|2005-11-21|2011-01-11|Broadcom Corporation|Compact packet operation device and method|
US20070183415A1|2006-02-03|2007-08-09|Utstarcom Incorporated|Method and system for internal data loop back in a high data rate switch|
US7924890B2|2006-02-13|2011-04-12|Cisco Technology, Inc.|Apparatus and method for increasing reliability of data sensitive to packet loss|
US7809009B2|2006-02-21|2010-10-05|Cisco Technology, Inc.|Pipelined packet switching and queuing architecture|
US7813337B2|2007-01-19|2010-10-12|Broadcom Corporation|Network packet processing using multi-stage classification|
KR100864888B1|2007-02-12|2008-10-22|삼성전자주식회사|라우팅 시스템 및 라우팅 시스템의 룰 엔트리 관리 방법|
JP4793491B2|2007-03-20|2011-10-12|富士通株式会社|パケット中継装置、パケット中継装置における廃棄パケットの転送方法、およびそのプログラム|
US7720100B2|2007-05-11|2010-05-18|Applied Micro Circuits Corporation|Packet preclassification using search tree algorithms|
US8462786B2|2009-08-17|2013-06-11|Board Of Trustees Of Michigan State University|Efficient TCAM-based packet classification using multiple lookups and classifier semantics|
US9042405B1|2010-06-02|2015-05-26|Marvell Israel Ltd.|Interface mapping in a centralized packet processor for a network|
US8824293B2|2011-02-28|2014-09-02|Avaya, Inc.|Implementation of a QoS processing filter to manage upstream over-subscription|ES2775798T3|2012-02-03|2020-07-28|Ericsson Telefon Ab L M|Procesador digital avanzado de banda base|
US9219694B2|2013-03-15|2015-12-22|Wisconsin Alumni Research Foundation|Content addressable memory with reduced power consumption|
US20150195387A1|2014-01-08|2015-07-09|Cavium, Inc.|Methods and systems for flexible packet classification|
US9859006B1|2016-06-17|2018-01-02|Globalfoundries Inc.|Algorithmic N search/M write ternary content addressable memory |
CN107547332B|2016-06-28|2021-06-04|中兴通讯股份有限公司|数据传输方法及装置|
法律状态:
2020-11-01| MM4A| Annulment or lapse of patent due to non-payment of fees|
优先权:
申请号 | 申请日 | 专利标题
US13/052,336|US9001828B2|2011-03-21|2011-03-21|Method and apparatus for pre-classifying packets|
[返回顶部]